Identification method for training vehicle accessory

ABSTRACT

A method for identifying a vehicle accessory with a mobile device is disclosed. The method comprises receiving an input in the mobile device and activating an identification function in a control circuit of the mobile device in response to the input. An image viewfinder is initiated in response to the activation of the identification function. The viewfinder is used to capture an image of the vehicle accessory including at least one feature. The at least one feature in the image is compared to a plurality of corresponding features of a plurality of compatible vehicle accessories. Based on the comparison, an identity of the vehicle accessory is identified. Training information for the vehicle accessory is then accessed and displayed on the mobile device to facilitate at least one setup task of the vehicle accessory in response to identifying the vehicle accessory.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of and claims priority to U.S. patentapplication Ser. No. 14/692,063, filed on Apr. 21, 2015, now U.S. Pat.No. 9,916,769 entitled IDENTIFICATION METHOD FOR TRAINING VEHICLEACCESSORY, which claims priority to and the benefit under 35 U.S.C. §119(e) of U.S. Provisional Patent Application Ser. No. 61/983,822, filedon Apr. 24, 2014, entitled IDENTIFICATION METHOD FOR TRAINING VEHICLEACCESSORY, the entire disclosures of which are hereby incorporated byreference in their entirety.

TECHNOLOGICAL FIELD

The present disclosure relates generally to a method for identifying avehicle accessory and more particularly relates to a method foridentifying a vehicle accessory having a trainable control system.

SUMMARY

One aspect of the present disclosure includes a method for identifying avehicle accessory with a mobile device. The method comprises receivingan input in the mobile device and activating an identification functionin a control circuit of the mobile device in response to the input. Animage viewfinder is initiated in response to the activation of theidentification function. The viewfinder is used to capture an image ofthe vehicle accessory including at least one feature. The at least onefeature in the image is compared to a plurality of correspondingfeatures of a plurality of compatible vehicle accessories. Based on thecomparison, an identity of the vehicle accessory is identified. Traininginformation for the vehicle accessory is then accessed and displayed onthe mobile device to facilitate at least one setup task of the vehicleaccessory in response to identifying the vehicle accessory.

Another aspect of the present disclosure includes a non-transitorymachine-readable storage medium, having stored thereon a computerprogram having at least one code section configured to be implemented bya device. The device comprises a display, an image capture device, andat least one processor in communication with the display and the imagecapture device. The at least one code section executable by theprocessor to perform the steps to identify a vehicle accessory. A firststep may include activating an identification routine in response toreceiving an input. Image data is received from the image capture devicedepicting at least one feature of the vehicle accessory. The at leastone feature is compared to a plurality of corresponding features of aplurality of vehicle accessories. Based on the comparison, the vehicleaccessory is identified and information corresponding to at least onetrainable operation of the vehicle accessory is accessed.

Yet another aspect of the present disclosure includes a system foridentifying a vehicle accessory. The system comprises a display, animage capture device, and at least one processor in communication withthe display and the image capture device. The at least one processor isoperable to activate an identification routine in response to receivingan input and receive image data from the image capture device. The imagedata depicts at least one feature of the vehicle accessory. Theprocessor compares the at least one feature to a plurality ofcorresponding features of a plurality of compatible vehicle accessories.Based on the comparison the vehicle accessory is identified. Based onthe identification, the processor is operable to access informationcorresponding to at least one trainable operation of the vehicleaccessory.

These and other features, advantages, and objects of the present devicewill be further understood and appreciated by those skilled in the artupon studying the following specification, claims, and appendeddrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an environmental view of a mobile device implementing a methodfor identifying a vehicle accessory for training;

FIG. 2A is a front view demonstrating a vehicle accessory including aplurality of features to identify the accessory;

FIG. 2B is a front view demonstrating a vehicle accessory including aplurality of features to identify the accessory;

FIG. 2C is a front view demonstrating a vehicle accessory including aplurality of features to identify the accessory;

FIG. 2D is a front view demonstrating a vehicle accessory including aplurality of features to identify the accessory;

FIG. 3 is a flow chart demonstrating a method for identifying a vehicleaccessory for training;

FIG. 4 is an environmental view of a mobile device implementing anaugmented reality program for training a vehicle accessory; and

FIG. 5 is a block diagram of a system configured to implement a methodfor identifying a vehicle accessory for training in accordance with thedisclosure.

DETAILED DESCRIPTION OF EMBODIMENTS

For purposes of description herein the terms “upper,” “lower,” “right,”“left,” “rear,” “front,” “vertical,” “horizontal,” and derivativesthereof shall relate to the device as oriented in FIG. 1. However, it isto be understood that the device may assume various alternativeorientations and step sequences, except where expressly specified to thecontrary. It is also to be understood that the specific devices andprocesses illustrated in the attached drawings, and described in thefollowing specification are simply exemplary embodiments of theinventive concepts defined in the appended claims. Hence, specificdimensions and other physical characteristics relating to theembodiments disclosed herein are not to be considered as limiting,unless the claims expressly state otherwise.

Referring to FIG. 1, an environmental view of a vehicle accessory 10 isshown in a passenger compartment 12 of a vehicle. In this example, thevehicle accessory corresponds to a rearview display device 14 includinga bezel 16 and a plurality of features 18. The vehicle accessory mayalso correspond to a user interface 20 disposed in an overhead consoleor any other location in the vehicle, for example, a center console, anarmrest of a door panel, etc. The plurality of features 18 maycorrespond to any visible features of the vehicle accessory. Forexample, the plurality of features may correspond to a plurality ofprogrammable or pre-programmed user inputs, a light sensor, an interiorcamera, various control inputs for a rearview display, etc. In anexemplary implementation, at least one of the plurality of features 18corresponds to a programmable user input 22 for a trainable controlsystem 24.

The trainable control system 24 may correspond to a HOMELINK® trainablecontrol system or any other trainable control system. The trainablecontrol system 24 may utilize a receiver, transmitter, and/ortransceiver to send and receive data corresponding to a variety ofremote control devices. A remote control device may correspond to anydevice configured to control an electronic device. For example, a remotecontrol device may include a garage door opener control, a remote homesecurity control, a lighting controller, etc. In operation, thetrainable control system 24 is operable to receive a control signal andprogram the signal to control an electronic device. For example, thetrainable control system 24 may be configured to learn and re-transmitone or more control signals configured to open/close a moving barrier,turn on/off lighting, activate/deactivate a security system, etc.

Instructions for training a programmable user input may be complex anddifficult to identify for a particular model and design of a trainablecontrol system. For example, various features and/or bezels may beimplemented having various orientations and layouts that may bedifficult for an operator of a vehicle to distinguish in order toidentify the particular model of the trainable control system installedin the vehicle. The appearance of each trainable control system may varyamong vehicle manufacturers, geographic sales regions, particular modelsof vehicles, particular model years of the same model vehicle, and trimlevels of vehicles. Additionally, training instructions may vary foreach different type or manufacturer of the device being controlled. Thenumerous variations may confuse vehicle operators and limit a rate ofutilization of such trainable control systems. As such, the complexityof these systems may result in limited interest from consumers.

The disclosure provides for methods and systems that may be implementedin a mobile device 26 to quickly and easily identify a particulartrainable control system, for example the trainable control system 24.The methods and systems discussed herein may be implemented in manytypes of mobile devices, for example a camera, cellular phone, smartphone, tablet, laptop, etc. The methods introduced herein may comprisevarious steps configured to receive information in the form of userinputs and image data to identify a particular model of a trainablecontrol system. This information may then be utilized to improve an easeof use of the trainable control system 24.

The mobile device 26 may utilize image data corresponding to theorientation and appearance of the plurality of features 18 and the bezel16 to identify a model of the trainable control system 24. In responseto identifying the model of the trainable control system 24 of thevehicle accessory 10, the method is configured to provide links and/oraccess various information corresponding to the identified trainablecontrol system 24. Information corresponding to training materials,manufacturer advertisements, instructional videos, and any othermaterial related to the trainable control system 24 may be accessed byor delivered to the mobile device 26 in response to identifying thetrainable control system 24. In this way, the mobile device 26 may beutilized to quickly and easily identify the trainable control system 24and provide information to a user in order to improve the ease andconvenience of utilizing a trainable control system in any vehicle.

In some implementations, a camera system 28 of the mobile device 26 maybe implemented to capture an image 30 and/or video of the vehicleaccessory 10 and display the image 30 on a display 31 of the mobiledevice 26. The image 30 may be captured by the camera system 28 inresponse to a user input 32. In this example, the camera system 28 ofthe mobile device 26 is utilized to capture the image 30 of the rearviewdisplay device 14. In some implementations, image data corresponding tothe image 30 may be processed by the mobile device 26 to identify theplurality of features 18. The image data may also be transmitted to aremote server via a wireless communication circuit or a local wirelessinterface of the mobile device 26. Additionally, the image data may bemanually captured by a user of the mobile device and sent via email ormultimedia message service (MMS) to transmit the image datacorresponding to the rearview display device 14 to the remote server.

The image data may be processed locally on the mobile device 26 and/ormay be processed remotely on the remote server to identify a particularmodel, manufacturer, and/or type of a trainable control system utilizedin the vehicle accessory 10 as pictured in the image data. The imagedata may be compared to a database of features corresponding to variousvehicle accessories 10 that include various trainable control systemsthat may be compatible with or identifiable by the mobile device 26.Based on the plurality of features 18, the particular model in thisexample may be identified as the rearview display device 14 including aparticular trainable control system. Upon identification of thetrainable control system 24, the mobile device 26 may request, access,and/or receive information related to the trainable control system 24utilized in the rearview display device 14.

Referring now to FIGS. 2A-2D examples of vehicle accessories 10 areshown that may be identified by the methods and systems disclosedherein. Based on the identification of a particular vehicle accessory, atrainable control system may be identified to provide a user withinformation related to the trainable control system. The information maybe accessed by the mobile device 26 to provide various informationrelated to the trainable control system, for example traininginformation, videos, features, offers for additional equipment, and/orsoftware to enhance the system.

The vehicle accessories 10 may be identified by any features that arevisually apparent in the image data corresponding to the image 30. Thefeatures illustrated in FIGS. 2A-2D demonstrate a variety of userinputs, hardware, and characteristics shapes. In some implementations,text and/or characters on a bezel, user input or any other feature mayalso be utilized to identify a particular vehicle accessory 10. In somecases, the image data may also be processed through various methods toenhance the image data and improve the recognition of the features 18including the bezel 16. Though the examples discussed in reference toFIGS. 2A-2D refer to rearview displays, the disclosed systems andmethods may be applied to identify any vehicle accessory 10 and acorresponding trainable control system.

Referring to FIG. 2A, a first rearview display assembly 40 is shown. Thefirst rearview display assembly 40 comprises a first user input 46 and asecond user input 48 disposed in a lower portion 50 of the firstrearview display assembly 40. The first user input 46 and the seconduser input 48 include a rounded exterior profile 52. A first lightsensor 54 and a second light sensor 56 are further disposed in the lowerportion 50 on either side of the user inputs 46-48. The first rearviewdisplay assembly 40 includes a mirror and/or display portion 58 and abezel 60. The bezel 60 forms an exterior profile shape 62.

The elements described in reference to numerals 46-62 correspond to aplurality of identifying features 64 corresponding to the first rearviewdisplay assembly 40. Each of the features 64 is shown having aparticular shape, orientation, and arrangement that may be identified bythe portable device 26 or a remote server to identify the first rearviewdisplay assembly 40. Based on the identification of the first rearviewdisplay assembly 40, information related to a trainable control systemcorresponding to the first rearview display assembly 40 may be accessedby the portable device 26. The information related to the trainablecontrol system identified in the first rearview display assembly 40 mayprovide useful training and information related to features of thetrainable control system.

Referring to FIG. 2B, a second rearview display assembly 70 is shown.The second rearview display assembly 70 comprises a plurality of userinputs 72 disposed in a lower portion 74 of the second rearview displayassembly 70. Each of the plurality of user inputs 72 has a rectangularexterior profile 76. A light sensor 78 and an interior camera 80 arealso disposed in the lower portion 74 on one side of the plurality ofuser inputs 72. The portion of the interior camera 80 shown maycorrespond to an optic portion configured to capture light data that mayimpinge upon at least a portion of the second rearview display assembly.

The second rearview display assembly 70 includes a mirror and/or displayportion 84 and a bezel 86. At least one of a time display, anenvironmental indication (e.g. temperature, humidity, etc.), and adirectional indication or compass readout 88 may be disposed in themirror and/or display portion 84. The bezel 86 forms an exterior profileshape 90. A mirror angle control button 92 is also connected to a topportion 94 of the second rearview display assembly 70. Similar to thefirst rearview display assembly 40, each of the elements described inreference to numerals 72-94 correspond to identifying features 96 of thesecond rearview display assembly 70. Each of the features 96 may beidentified from image data captured by the portable device 26. The imagedata may be processed by the portable device 26 or a remote server toidentify the second rearview display assembly 70 and a correspondingtrainable control system.

Referring to FIG. 2C, a third rearview display assembly 100 is shown.The third rearview display assembly 100 comprises a plurality of userinputs 102 or a user interface disposed in a lower portion 104 of thethird rearview display assembly 100. Each of the plurality of userinputs has a rectangular exterior profile 106. The third rearviewdisplay assembly 100 includes a mirror and/or display portion 108 and abezel 110. The bezel 110 forms an exterior profile shape 112. A mirrorangle control button 114 is also connected to a top portion 116 of thethird rearview display assembly 100. Similar to the first and secondrearview display assemblies 40 and 70, each of the elements described inreference to numerals 102-116 correspond to identifying features 118 ofthe third rearview display assembly 100. Each of the features 118 may beidentified from image data by the portable device 26 or a remote serverto identify the third rearview display assembly 100 and a correspondingtrainable control system.

Referring to FIG. 2D, a fourth rearview display assembly 130 is shown.The fourth rearview display assembly 130 comprises a first plurality ofuser inputs 132 disposed in a lower portion 134 and a second pluralityof user inputs 136 disposed in an upper portion 138. The first pluralityof user inputs 132 has a first rounded exterior profile 140, and thesecond plurality of inputs 136 has a second rounded exterior profile142. A first light sensor 144 and a second light sensor 146 are furtherdisposed in the lower portion 134 on either side of the first pluralityof inputs 132. The fourth rearview display assembly 130 includes amirror and/or display portion 148 and a bezel 150. The bezel 150 formsan exterior profile shape 152. Similar to the rearview displays 40, 70,100, each of the elements described in reference to numerals 132-152correspond to identifying features 154 of the fourth rearview displayassembly 130. Each of the features 154 may be identified from image databy the portable device 26 or a remote server to identify the fourthrearview display assembly 130 and a corresponding trainable controlsystem.

Referring now to FIG. 3, a flow chart of a method 156 for identifying avehicle accessory 10 and a corresponding trainable control system isshown. The method may begin by activating an application on a mobiledevice 26 (158). The application may be activated by a user input in theform of a selection displayed on a user interface or display screen ofthe mobile device 26. Once the application is running on the mobiledevice 26, the mobile device 26 is configured to receive an input from auser to initiate an identification of the vehicle accessory 10 and acorresponding trainable control system (160). As discussed previously,the vehicle accessory 10 may be any device or interface that may requirespecific instructions for programming, for example the rearview displayassemblies 14, 40, 70, 100, 130.

The identification process begins by initiating a camera system tocapture an image of the vehicle accessory 10 (162). In order tofacilitate the capture of an image of the vehicle accessory 10,instructions for the capture of the image may be displayed on thedisplay 31 of the mobile device 26 (164). The method may wait for animage to be captured while a user is aiming and adjusting the field ofview of the camera system of the mobile device 26 (166). The mobiledevice 26 is configured to monitor for an input to initiate the captureof the image (168). In response to the receipt of the input, the mobiledevice 26 may respond by capturing an image of the vehicle accessory 10(170).

Once the image of the vehicle accessory 10 is captured, the mobiledevice 26 may compare the image data from the image of the vehicleaccessory 10 with a database of vehicle accessories that are compatiblewith the system. In some implementations, the mobile device 26 may beconfigured to send the image data via a communication circuit, localwireless interface, or any other form of wireless communication to aremote server. Similar to the mobile device 26, the remote server mayaccess a database of vehicle accessories that are compatible with aparticular brand or type of trainable control system, for exampleHOMELINK® trainable control devices.

In various implementations, the mobile device 26 and the remote servermay function similarly by processing image data to identify one or morefeatures corresponding to a vehicle accessory, for example the features64, to identify a particular vehicle accessory (e.g. the rearviewdisplay assembly 40). The plurality of features may be identified in theimage data by various forms of image processing algorithms and featuredetection methods. Some methods for feature detection that may beapplied to detect the features of an image may include various edge,corner, and blob detection methods. Edge and corner detection methodsmay include Canny, Sobel, and Harris & Stephens/Plessey methods. Otherdetection methods may include Shi & Tomasi, Level curve curvature,Features from accelerated segment test (FAST), Laplacian of Gaussian,Difference of Gaussians, Determinant of Hessian, etc. Each of thefeature detection methods described herein may be processed by aprocessor of the mobile device 26 and/or the remote server.

The results of the feature detection from the captured image may becompared to a database of vehicle accessories including various featuresof each vehicle accessory to identify the trainable control device.Based on the comparison of the detected features in the image data, andthe database of vehicle accessories, the method may select one or morecandidate vehicle accessories from the database to identify the specificvehicle accessory from the image data (172). The method may continue todetermine if a specific vehicle accessory is identified from thedatabase based on a confidence interval or percent of likelihood of thedetected features matching those corresponding to a the particulardevice in the database (174).

If the specific vehicle accessory is not identified in the database at apredetermined confidence level or percentage match, an error message maybe displayed on the mobile device 26 and the method may return to step164 (176). If the specific vehicle accessory is identified in thedatabase at a predetermined confidence level or percentage match, themethod may continue to provide the mobile device 26 access to variousinformation about the identified vehicle accessory and a correspondingtrainable control system (170). With the specific vehicle accessoryidentified, the mobile device 26 and/or the remote server may beconfigured to provide a variety of training materials, links, andoptions corresponding to the trainable control system and display theoptions on the display of the mobile device 26 for selection by a user.

The information corresponding to the identified vehicle accessory andthe trainable control system may be accessed by, delivered to, and/orrequested by the mobile device in variety of ways. For example, theremote server may send links to the mobile device 26 that may beaccessed by a user of the device by interacting with a user interface ofthe mobile device 26. The mobile device 26 may also access similar linksor information from a local memory or request similar information fromthe remote server in response to identifying the vehicle accessory. Theinformation may correspond to instructions or videos providinginformation to the user via a display and speaker of the deviceinstructing the user how to program a trainable control system to learnand re-transmit at least one control signal of a remote control deviceconfigured to control an electronic device. As previously discussed, aremote control device may include a garage door opener control, a remotehome security control, a lighting controller, etc.

In some implementations, the information for the identified vehicleaccessory may include a video or instructions that describe step by stepprocedures for programming the trainable control system to program thetrainable control system to function as a remote control device. Forexample referring now to FIG. 2A, if a user desired to teach a vehicleaccessory, such as the rearview display assembly 40, to function as agarage door opener remote control, a video may be accessed by the mobiledevice 26 via a memory, communication circuit, or local wirelessinterface. The video may instruct a user of the trainable control systemof the rear view display assembly 40 by providing a sequence and timingto interact with the first user input 46 and the second user input 48.The video may provide various instructions to the user of the mobiledevice 26 that are configured to program the trainable control system toemit signals corresponding to those output by the garage door openerremote control. Examples of trainable control systems, for example aHOMELINK® system and other similar systems are described in U.S. Pat.No. 9,819,498, entitled “SYSTEM AND METHOD FOR WIRELESS RE-PROGRAMMINGOF MEMORY IN A COMMUNICATION SYSTEM,” filed Aug. 21, 2012, by Chris H.Vuyst; and U.S. Pat. No. 8,384,513, entitled “TRANSMITTER AND METHOD FORTRANSMITTING AN RF CONTROL SIGNAL,” filed Jan. 3, 2006, by Todd R.Witkowski, which are included herein by reference in their entirety.

In response to the mobile device 26 accessing the information from theremote server, the remote server may record usage statistics related tothe types of devices that are being identified by using the method 156and similar methods discussed herein. The usage statistics may beutilized to identify particular types of vehicle accessories identifiedby the method 156 to determine which customers that have utilized themethod 156 and corresponding vehicle brands, models, and geographicinformation. This information may be valuable to a manufacturer indetermining a target audience for a vehicle accessory including atrainable control system as discussed herein.

In some implementations, a mobile device may have limited capabilities.In such cases, methods similar to the method 156 may be utilized toidentify a vehicle accessory. Devices with limited capabilities mayinclude camera phones, cameras, and other devices that may have alimited capability to operate applications or software that is notincluded in an original operating system for such devices (e.g. phonesand cameras not categorized as smart devices). To accommodate suchdevices and as an option for any mobile device with at least a camerasystem, a user may capture a picture comprising image data correspondingto a vehicle accessory 10. The image data may be sent to a remote servervia email over the internet or through a communication circuit of themobile device, as an attachment to an MMS message, or any other digitalcommunication method.

Upon receipt of the image data, a remote server may identify the vehicleaccessory 10 and a corresponding trainable control system similar tostep 168 of the method 156. The remote server may respond to asuccessful identification of the vehicle accessory by sending links ofinformation for the vehicle accessory and training informationcorresponding trainable control system of the vehicle accessory. Theinformation related to the vehicle accessory may be sent to the mobiledevice by similar methods to those utilized to send the image data tothe remote server. In this way, the systems and methods discussed hereinprovide for broad applicability of utilizing the methods disclosedherein for identifying the vehicle accessory 10 and providing traininginformation for a corresponding trainable control system.

In some implementations, the mobile device may also be operable toidentify a remote control device for programming a trainable controlsystem utilized in the vehicle accessory. For example, some trainablecontrol systems require information identifying a manufacturer of aremote control device (e.g. a garage door opener remote control). Insuch cases, the mobile device may be operable to additionally captureimage data and determine a particular model or manufacturer of theremote control device. Similar to the identification of the vehicleaccessory 10, the mobile device 26 may instruct a user to capture imagedata of the remote control device to be programmed. The mobile devicemay also be operable to identify a remote control device by scanning aQR code, barcode, UPC, model number, or any other visible informationthat may be visible on the remote control device, a controlled device(e.g. a garage door opener), or any manufacturer packaging thereof.

The additional information captured in image data by the mobile device26 may be utilized by the mobile device 26 or a remote server toidentify the remote control device to be programmed to the trainablecontrol system. Identifying the remote control device, codedinformation, or any other identifying information corresponding to theremote control device may be identified by similar steps to thosedescribed in the method 156. For example, the image data may beprocessed and compared to a database of remote control devices by themobile device and/or the remote server to determine the manufacturer andmodel of the remote control device. The information identified for theremote control device may be utilized to improve the information andinstructions provided on the user interface or display of the mobiledevice to improve programming instructions for a trainable controlsystem for the identified remote control device.

Referring now to FIG. 4, an exemplary environment 180 demonstrating amethod of training a trainable control system of a vehicle accessory 10is shown. Once the vehicle accessory is identified by the method 156,the mobile device 26 may access a variety of training information andvideos to demonstrate steps required to program the trainable system. Insome implementations, the mobile device may receive instructions in theform of an augmented reality program demonstrated on the display 31 ofthe mobile device 26. The augmented reality program may be accessed bythe device from memory and/or a remote server via the communicationcircuit or the local wireless interface.

The augmented reality program may function in combination with varioussystems of the mobile device 26 or similar devices. A detaileddescription of the mobile device 26 is described in reference to FIG. 5.The augmented reality program may be configured to combine imagesreceived from the camera system with rendered or virtual graphics. Forexample, the mobile device 26 may be oriented such that the rearviewdisplay assembly 40 is inside a field of view 182 of the camera systemas shown in FIG. 4.

Image data from the camera system is processed by a processor of themobile device 26 in order to detect the orientation of the rearviewdisplay assembly 40 in the field of view 182. The orientation of therearview display assembly 40 may be identified by the processor of themobile device 26 by detecting features, for example the bezel 60, thefirst user input 46, and the second user input 48. The features of therearview display device 14 may be determined by comparing the detectedfeatures with features corresponding to the rearview display assembly 40in image data stored in the memory of the mobile device 26 similar tothe feature detection previously described. The image data 184corresponding to the rearview display assembly 40 is also shown on thedisplay 31.

Once the orientation and location of at least one of the bezel 60, thefirst user input 46, and the second user input 48 are determined, theprocessor of the device may overlay a graphic, symbol, animation, orvideo over the image data 184 of the rearview display assembly shown onthe display 31. A pointer 186 is shown overlaid on the image data 184 togive a virtual demonstration of programming the trainable control systemof the rearview display assembly 40. The pointer 186 may be configuredto move to various positions in the image data 184 corresponding to theidentifying features 64 of the rearview display assembly 40.Additionally, the augmented reality program may provide audioinstructions which correspond to various programming steps correspondingto the location of the pointer 186. As discussed herein, the locationand orientation of various features, for example the bezel 60, the firstuser input 46, and the second user input 48, may be referred to as oneor more targets. The one or more targets may be identified by one ormore augmented reality modules of the processor to identify a locationof a graphic, a symbol, an animation, or a video overlaid on the imagedata 184.

For example, the pointer 186 is initially positioned over the first userinput 46. The augmented reality program may provide an audibleinstruction controlled by the processor of the mobile device inconjunction with a particular step of a programming sequence required toprogram the trainable control system of the rearview display assembly40. The audible instruction may be output by the mobile device by theprocessor through a speaker. The audible instruction may include a voiceinstruction, for example, “hold down the first user input for 5seconds.” Each of the steps in the programming sequence may be similarlydisplayed on the display 31 and announced from the speaker as controlledthrough a predetermined timing in the augmented reality program andprocessed by the processor. In this way, the trainable control system ofthe rearview display assembly 40 may easily be programmed by a user byfollowing the audible instructions and virtual display instructionsdemonstrated by the pointer 186.

The processor of the mobile device 26 may further be operable tofunction interactively with a trainable control system of a vehicleaccessory 10. Continuing the previous example, a user may hold down thefirst input 46 of the rearview display assembly 40 for 5 seconds, inresponse to the audible instruction from the mobile device 26. Inresponse to the user holding down the first input, the trainable controlsystem of the rearview display may communicate a signal to the mobiledevice 26. The signal may be communicated as an audible tone or avisible signal, for example a flashing light on the rearview displayassembly 40. The mobile device 26 may be operable to detect the signalvia a microphone or the camera system in order to verify that theaudible instruction has been completed by the user. In this way, themobile device 26 may receive information, instructions, and feedbackfrom the trainable control system of the rearview display assembly 40.

The augmented reality program, operated by the processor of the mobiledevice 26, may provide for an interactive training system for thetrainable control system of the rearview display assembly 40. Theaugmented reality program may be similarly implemented to train othersystems, for example the user interface 20 and the rearview displayassemblies 70, 100, 130. In response to receiving the signal confirmingthat the audible instruction has been completed by the user, theprocessor of the mobile device 26 may continue to a later or additionalinstruction in the programming sequence required to program thetrainable control system of the rearview display assembly 40. Byimplementing an augmented reality program to program a trainable controlsystem, the systems and methods discussed herein provide improvements toaid users to successfully utilize a variety of trainable control systemsand vehicle accessories.

FIG. 5 represents a functional block diagram of the mobile device 26.The mobile device 26 includes a primary control circuit 200 that isconfigured to control the functions and operations of the mobile device26. The control circuit 200 may include a processor 202, such as a CPU,microcontroller or microprocessor. The processor 202 executes codestored in a memory (not shown) within the control circuit 200 and/or ina separate memory, such as the memory 204, in order to carry out variousoperations of the mobile device 26. The memory 204 may be, for example,one or more of a buffer, a flash memory, a hard drive, a removablemedia, a volatile memory, a non-volatile memory or other suitabledevices.

The mobile device 26 may also include an antenna 206 coupled to awireless communication circuit 208. The communication circuit 208includes a radio frequency transmitter and receiver for transmitting andreceiving signals via the antenna 206. The radio signals may beconfigured to transmit data and may correspond to various communicationsprotocols. The communication circuit 208 may be configured to operate ina mobile communications system and may be used to send and receive dataand/or audiovisual content. Receiver types for interaction with a mobileradio network and/or wireless broadcast network may include GSM, CDMA,WCDMA, GPRS, MBMS, WiFi, WiMax, DVB-H, ISDB-T, etc., as well as advancedversions of these standards that may be developed at a later time.

The mobile device 26 may further include a sound signal processingcircuit 210 for processing audio signals transmitted by and receivedfrom the communication circuit 208. Coupled to the sound processingcircuit 210 are a speaker 212 and a microphone 214 that enable a user tolisten and speak via the mobile device 26. The communication circuit 208and sound processing circuit 210 are each coupled to the control circuit200 so as to carry out overall operation of the mobile device 26. Audiodata may be passed from the control circuit 200 to the sound signalprocessing circuit 210 for playback to the user. The audio data mayinclude, for example, audio data from an audio file stored in the memory204 and retrieved by the control circuit 200, or received audio datasuch as in the form of audio data from a remote server. The soundprocessing circuit 210 may include any appropriate buffers, decoders,amplifiers, etc.

The display 31 may be coupled to the control circuit 200 by a videoprocessing circuit 216 that converts video data to a video signal usedto drive the display 31. The video processing circuit 216 may includeany appropriate buffers, decoders, video data processors, etc. The videodata may be generated by the control circuit 200, retrieved from a videofile that is stored in the memory 204, derived from an incoming videodata stream received by the communication circuit 208 from the remoteserver or obtained by any other suitable method. The mobile device 26may further comprise a user interface 217 or keypad in communicationwith the control circuit 200. The user interface may further function inconnection with the display 31 to provide for a touch screen userinterface configuration.

The mobile device 26 may further include one or more I/O interfaces 218.The IO interfaces 218 may be in the form of typical mobile telephone I/Ointerfaces and may include one or more electrical connectors. As istypical, the I/O interfaces 218 may be used to couple the mobile device26 to a battery charger to charge a battery of a power supply 220 withinthe mobile device 26. Further, the I/O interfaces 218 may serve toconnect the mobile device 26 to a personal computer or other device viaa data cable for the exchange of data. The data exchanged may includeimage data for identifying a vehicle accessory. The mobile device 26 mayreceive operating power via the I/O interfaces 218 when connected to apower adapter.

The control circuit 200 may comprise one or more timers for carrying outtiming functions. The mobile device 26 also may include a position datareceiver 222, such as a global positioning system (GPS) receiver. Themobile device 26 also may include a local wireless interface 224, suchas an infrared transceiver and/or an RF adapter or transceiver (e.g., aBluetooth adapter or transceiver), for establishing communication withan accessory (for example the vehicle accessory 10), a computer oranother device. For example, the local wireless interface 224 mayoperably couple the mobile device 26 to a vehicle accessory having atrainable control device with a compatible RF transceiver.

For example, the mobile device 26 may be operable to communicateprogramming information for the trainable control device to the vehicleaccessory based on the identification of the vehicle accessory. Forexample, the mobile device 26 may identify or receive model informationidentifying a remotely controlled device (e.g. a garage door opener) andtransmit information corresponding to control frequencies and codes ofthe remotely controlled device to the vehicle accessory 10 via the localwireless interface 224 in communication with the compatible RFtransceiver. In this configuration, the mobile device 26 may beconfigured to communicate training information to the vehicle accessorysuch that the vehicle accessory may receive and store information tocontrol the remotely controlled device.

The mobile device 26 may further be coupled to a camera system 226including a controller 228, such as a digital signal processor (DSP).The functions of the controller 228 may be controlled by the controlcircuit 200. The camera system 226 may further include a sensor 230(e.g., a charged-coupled device or CCD) to image a field of view asdetermined by imaging optics 232 of the camera system 226. A light meter234 may detect illumination conditions in the field of view and a flash236 may provide supplemental illumination during the capture of imagedata.

The methods, devices, and logic described above may be implemented inmany different ways in many different combinations of hardware, softwareor both hardware and software. For example, all or parts of the systemmay include circuitry in a controller, a microprocessor, or anapplication specific integrated circuit (ASIC), or may be implementedwith discrete logic or components, or a combination of other types ofanalog or digital circuitry, combined on a single integrated circuit ordistributed among multiple integrated circuits. All or part of the logicdescribed above may be implemented as instructions for execution by aprocessor, controller, or other processing device and may be stored in atangible or non-transitory machine-readable or computer-readable mediumsuch as flash memory, random access memory (RAM) or read-only memory(ROM), erasable programmable read only memory (EPROM) or othermachine-readable medium such as a compact disc read only memory (CDROM),or magnetic or optical disk. Thus, a product, such as a computer programproduct, may include a storage medium and computer readable instructionsstored on the medium, which when executed in an endpoint, computersystem, or other device, cause the device to perform operationsaccording to any of the description above.

The processing capability of the system may be distributed amongmultiple system components, such as among multiple processors andmemories, optionally including multiple distributed processing systems.Parameters, databases, and other data structures that may be separatelystored and managed, may be incorporated into a single memory ordatabase, may be logically and physically organized in many differentways, and also may be implemented in many ways, including datastructures such as linked lists, hash tables, or implicit storagemechanisms. Programs may be parts (e.g., subroutines) of a singleprogram, separate programs, distributed across several memories andprocessors, or implemented in many different ways, such as in a library,such as a shared library (e.g., a dynamic link library (DLL)). The DLL,for example, may store code that performs any of the system processingdescribed above.

It will be understood that any described processes or steps withindescribed processes may be combined with other disclosed processes orsteps to form structures within the scope of the present device. Theexemplary structures and processes disclosed herein are for illustrativepurposes and are not to be construed as limiting.

It is also to be understood that variations and modifications can bemade on the aforementioned structures and methods without departing fromthe concepts of the present device, and further it is to be understoodthat such concepts are intended to be covered by the following claimsunless these claims by their language expressly state otherwise.

The above description is considered that of the illustrated embodimentsonly. Modifications of the device will occur to those skilled in the artand to those who make or use the device. Therefore, it is understoodthat the embodiments shown in the drawings and described above is merelyfor illustrative purposes and not intended to limit the scope of thedevice, which is defined by the following claims as interpretedaccording to the principles of patent law, including the Doctrine ofEquivalents.

What is claimed is:
 1. A method for identifying a programmable vehicleaccessory, the method comprising: receiving an input in a mobile device;activating an identification function in a control circuit of the mobiledevice in response to the input; initiating an image viewfinder on adisplay of the mobile device in response to the activation of theidentification function; capturing an image of the programmable vehicleaccessory including at least one feature; comparing the at least onefeature in the image to a plurality of corresponding features of aplurality of compatible programmable accessories; identifying theprogrammable vehicle accessory based on comparing the at least onefeature; accessing training information for the programmable vehicleaccessory on the mobile device in response to identifying theprogrammable vehicle accessory; programming the programmable vehicleaccessory based on the training information; and actuating theprogrammable vehicle accessory transmitting the training information toa remotely controlled system.
 2. The method according to claim 1,wherein the at least one feature comprises a user interface with atleast one configurable function.
 3. The method according to claim 2,wherein the at least one configurable function corresponds to at leastone configurable transceiver function of the programmable vehicleaccessory.
 4. The method according to claim 3, wherein the at least oneconfigurable transceiver function corresponds to at least one of afunction of unlocking and locking a door, opening and closing a barrier,and turning on and off a light.
 5. The method according to claim 1,further comprising sending the image from the mobile device via acommunication circuit of the mobile device to a remote server.
 6. Themethod according to claim 5, further comprising receiving the traininginformation through the communication circuit of the mobile device fromthe remote server.
 7. The method according to claim 1, wherein theprogrammable vehicle accessory is a remote control configured to controlthe remotely controlled system.
 8. A non-transitory machine-readablestorage medium, having stored thereon a computer program having at leastone code section configured to be implemented by a device comprising adisplay, an image capture device, and at least one processor incommunication with the display and the image capture device, wherein theat least one processor is further in communication with a trainablecontrol system for a remote electronic device for a vehicle, the atleast one code section executable by the processor to perform the stepscomprising: activating an identification routine in response toreceiving an input; receiving image data from the image capture device,the image data depicting at least one feature of a remote controldevice; comparing the at least one feature to a plurality ofcorresponding features of a plurality of remote control devices;identifying the remote control device based on the comparing of the atleast one feature; accessing programming information corresponding to atleast one trainable operation of the remote control device based on theidentification; and receiving a signal from the trainable control systemin response to an actuation indicating that an input has been receivedby the trainable control system, wherein the signal confirms acompletion of a programming instruction.
 9. The non-transitorymachine-readable storage medium according to claim 8, wherein theprogramming information comprises user instructions describing at leastone setup operation of the remote control device.
 10. The non-transitorymachine-readable storage medium according to claim 8, wherein thecomparing the at least one feature comprises comparing a plurality offeatures to a plurality of compatible devices to identify the remotecontrol device.
 11. The non-transitory machine-readable storage mediumaccording to claim 8, wherein the at least one code section executableby the processor is further configured to perform the steps comprising:identify the at least one feature based on one or more profile shapescorresponding to at least one of a user interface, a bezel, a lightsensor, a camera, a directional indication, a time display, anenvironmental indication, and a mirror angle control button.
 12. Thenon-transitory machine-readable storage medium according to claim 8,wherein the at least one code section executable by the processor isfurther configured to perform the steps comprising: processing the imagedata via at least one of an edge detection method, a corner detectionmethod, and a blob detection method.
 13. The non-transitorymachine-readable storage medium according to claim 8, wherein the atleast one code section executable by the processor is further configuredto perform the steps comprising: transmitting the image data to a remoteserver.
 14. The non-transitory machine-readable storage medium accordingto claim 13, wherein the at least one code section executable by theprocessor is further configured to perform the steps comprising:receiving an identification of the remote control device from the remoteserver in response to an identification of the remote control device bythe remote server from the image data transmitted.
 15. A system foridentifying a programmable accessory comprising: a display; an imagecapture device; a wireless communication interface configured totransmit data between the programmable accessory and the system, whereinthe programmable accessory comprises a user interface; and at least oneprocessor in communication with the display and the image capturedevice, the at least one processor being operable to: activate anidentification routine in response to receiving an input; receive imagedata from the image capture device, the image data depicting at leastone feature of the programmable accessory; compare the at least onefeature to a plurality of corresponding features of a plurality ofcompatible programmable accessories; identify the programmable accessorybased on comparing the at least one feature; access informationcorresponding to at least one trainable operation of the programmableaccessory based on the identification; communicate a programminginstruction of the programming information via the wirelesscommunication interface to the programmable accessory programming the atleast one trainable operation; and receive a signal from theprogrammable accessory in response to an actuation indicating an inputreceived by the user interface verifying a completion of the programminginstruction.
 16. The system according to claim 15, wherein the processoris further operable to: identify the at least one feature based on oneor more profile shapes corresponding to at least one of a user input, abezel, a light sensor, a camera, a directional indication, a timedisplay, an environmental indication, and a mirror angle control button.17. The system according to claim 15, wherein the processor is furtheroperable to: process the image data via at least one of an edgedetection method, a corner detection method, and a blob detectionmethod.
 18. The system according to claim 15, wherein the programmableaccessory comprises a transmitter configured to emit a control signalconfigured to control an electronic device via the transmitter.
 19. Thesystem according to claim 18, wherein the at least one configurablefunction corresponds to at least one of a function of unlocking andlocking a door, opening and closing a barrier, and turning on and off alight.
 20. The system according to claim 15, wherein the programmableaccessory is a remote control configured to control the remotelycontrolled system.